//
//  SendMailHandler.h
//  IFlyUncaughtExceptions
//  邮件发送处理器
//  Created by iflytek.com on 12-11-2.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>

@class SKPSMTPMessage;

@protocol SKPSMTPMessageDelegate
@required

-(void)messageSent:(SKPSMTPMessage *)message;
-(void)messageFailed:(SKPSMTPMessage *)message error:(NSError *)error;

@end

@interface SendMailHandler : NSObject<SKPSMTPMessageDelegate>
{
    @private
    SKPSMTPMessage  *_smtpMessage;          // 发送邮件核心
    NSMutableArray  *_mailParts;            // 附件及正文对象，内部使用
    NSMutableArray  *_dirPathArray;         // 需要发送的文件目录，便于发送成功后进行删除
    NSMutableArray  *_filePathArray;        // 发送单个文件时，需要记录，便于发送成功后进行删除
    
    NSString        *_fromEmail;            // 发送的邮箱地址
    NSString        *_password;             // 发送邮箱的密码
    NSString        *_toEmail;              // 对方的邮箱地址
    NSString        *_relayHost;            // 类似于smtp.qq.com的字符串
    NSString        *_subject;              // 邮件主题
    
    id<SKPSMTPMessageDelegate>  _messageDelegate;  // 邮件发送成功失败与否通知
}

@property (nonatomic, copy) NSString *fromEmail;;
@property (nonatomic, copy) NSString *password;
@property (nonatomic, copy) NSString *toEmail;
@property (nonatomic, copy) NSString *relayHost;
@property (nonatomic, copy) NSString *subject;

@property (assign) id<SKPSMTPMessageDelegate>  messageDelegate;

// 添加邮件正文内容
- (void)addMailContent:(NSString *)mailcontent;

// 添加附件，附件名称使用文件名，当文件超过10M,将不进行主动发送
- (BOOL)addAttachmentByFilePath:(NSString *)filePath;

// 将整个目录下的所有文件作为附件进行发送，当所有文件超过10M,将不进行主动发送
- (BOOL)addAttachmentsByDirPath:(NSString *)dirPath;

// 所有操作完成之后，调用发送命令
- (void)sendMail;


@end
